var form = layui.form
var laypage = layui.laypage;
var layer = layui.layer;
var lz = {
    pagenum: 1,//页码值
    pagesize: 2,//每页显示多少条数据
    cate_id: '',//文章分类的 Id
    state: ''//文章的状态，
}
// 定义美化时间格式的过滤器
template.defaults.imports.dataFormat = function (date) {
    var dt = new Date(date)
    var y = dt.getFullYear()
    var m = zeroFill(dt.getMonth() + 1)
    var d = zeroFill(dt.getDate())
    var hh = zeroFill(dt.getHours())
    var mm = zeroFill(dt.getMinutes())
    var ss = zeroFill(dt.getSeconds())
    return y + '-' + m + '-' + d + ' ' + hh + ':' + mm + ':' + ss
}
//定义补零的函数  zeroFill:补零
function zeroFill(n) {
    return n > 9 ? n : '0' + n
}

// 定义获取文章列表数据的方法  
initTable()
function initTable() {
    $.ajax({
        method: 'GET',
        url: '/my/article/list',
        data: lz,
        success: function (res) {
            console.log(res);
            if (res.status !== 0) {
                return layer.msg(res.message)
            }
            var htmlStr = template('tpl-table', res)
            $('tbody').html(htmlStr)
            //渲染分页
            renderPage(res.total)
        }

    })
}

// 发起请求获取并渲染文章分类的下拉选择框
initCate()
//初始化文章分类的方法
function initCate() {
    $.ajax({
        method: 'GET',
        url: '/my/article/cates',
        success: function (res) {
            // console.log(res);
            if (res.status !== 0) {
                return layer.msg(res.message)
            }
            // 调用模板引擎渲染分类的可选项
            var htmlStr = template('tpl-cate', res)
            $('[name=cate_id]').html(htmlStr)
            // 通过 layui 重新渲染表单区域的UI结构  固定写法
            form.render()
        }

    })
}
//为筛选表单绑定submit事件
$('#form-search').on('submit', function (e) {
    e.preventDefault()
    // 获取表单中选中项的值
    var cate_id = $('[name=cate_id]').val()
    var state = $('[name=state]').val()
    // 为查询参数对象 lz 中对应的属性赋值
    lz.cate_id = cate_id
    lz.state = state
    // 根据最新的筛选条件，重新渲染表格的数据
    initTable()
})
// 定义渲染分页的方法
function renderPage(total) {
    // console.log(total)
    // 调用 laypage.render() 方法来渲染分页的结构
    laypage.render({
        elem: 'pageBox', // 分页容器的 Id
        count: total, // 总数据条数
        limit: lz.pagesize, // 每页显示几条数据
        curr: lz.pagenum, // 设置默认被选中的分页
        layout: ['count', 'limit', 'prev', 'page', 'next', 'skip'],
        limits: [2, 3, 5, 10],
        // 分页发生切换的时候，触发 jump 回调
        //触发jump的方法有两种
        //1.点击页码
        //2.只要调用了laypage.render（)方法，就会触发回调
        jump: function (obj, first) {
            //obj包含了当前分页的所有参数，比如：
            console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
            // console.log(obj.limit); //得到每页显示的条数
            lz.pagenum = obj.curr
            lz.pagesize = obj.limit
            console.log(first);

            //首次不执行
            if (!first) {
                //do something
                initTable()
            }
        }

    })
}
//删除
$('tbody').on('click', '.btn-delete', function () {
    // alert(1)
    var id = $(this).attr('data-id')
    // console.log(id);
    layer.confirm('确认删除?', { icon: 3, title: '提示' }, function (index) {
        //do something
        $.ajax({
            method: 'GET',
            url: '/my/article/delete/' + id,
            success: function (res) {
                // console.log(res);
                // if (res.status == 0) {
                // layer.msg(res.message)
                // initTable()
                // }

                if (res.status !== 0) {
                    return layer.msg('删除文章失败！')
                }
                layer.msg('删除文章成功！')

                if ($('.btn-delete').length === 1) {//如果本页的条数为1
                    lz.pagenum = lz.pagenum === 1 ? 1 : lz.pagenum - 1
                }
                initTable()

            }
        })
        layer.close(index);
    });

})
